home *** CD-ROM | disk | FTP | other *** search
- README.TXT
-
- SoftICE 3.2 Release Notes
-
-
- -----------------------------------------------------------------
- Table Of Contents
- -----------------------------------------------------------------
- * What's New in SoftICE 3.2
- SMP Support (Windows NT version)
- Memphis Beta 1 support (Windows 95 version)
- Universal Video Driver
- Improved serial operation
- 43 Lines on Hercules-compatible Monochrome Cards
- Miscellaneous Options
- * System Requirements
- * Installation
- * Quick Start to Debugging
- * Using Multiple Monitors Under Memphis
- * Debugging Display Drivers Under Memphis
- * Using SoftICE with Visual C++ 5.0
- * Using SoftICE with Borland C++ Builder
- * VToolsD Support
- * Known Anomalies
- * Troubleshooting Tips
- * Known Problems Related to Watcom C++
- * Reporting Problems And Suggestions
-
-
- What's New in SoftICE 3.2
- -------------------------
-
- Major new features in SoftICE 3.2 include:
-
- * SMP support (Windows NT version)
- * Memphis Beta 1 support (Windows 95 version)
- * Universal video driver: hardware-independent video support that works
- with most recent cards.
- * Improved serial operation
- * 43 lines on Hercules-compatible monochrome cards (first introduced in
- SoftICE 3.01)
-
-
- SMP Support (Windows NT version)
- --------------------------------
-
- SoftICE 3.2 supports Pentium and Pentium Pro multiprocessor systems, up
- to 8 CPUs, which use the standard Intel multiprocessor scheme (APIC).
- Note that there are a variety of semistandard and proprietary
- multiprocessor systems on the market; these are NOT supported.
-
- The CPU command can be used to dump the state of the various processors.
- While SoftICE is active (popped up) only one CPU is in use; the rest are
- halted. At other times all CPUs run concurrently, as normal.
-
-
- Memphis Beta 1 support (Windows 95 version)
- -------------------------------------------
-
- SoftICE 3.2 (Windows 95 version) supports Memphis Beta 1 (build 1525).
- The following features have been added:
-
- * The DEVICE, DRIVER, FOBJ, IRP and OBJDIR commands have been added to
- the Memphis version. These commands operate in the same manner as those
- found in SoftICE for Windows NT. Please refer to the SoftICE Command
- Reference manual for additional information.
-
- * If WDMEXPORTS=ON is placed in WINICE.DAT, SoftICE for Windows 95 will
- dynamically build exports for WDM drivers.
-
-
- Universal Video Driver
- ----------------------
-
- Previous versions of SoftICE ran exclusively in text mode, and relied on
- device-dependent drivers, written by NuMega, to switch from normal
- Windows hires mode to text mode and back. The main problem with this is
- that each display device requires special support. SoftICE 3.2
- introduces a "universal" video driver which works in a largely device-
- independent manner, eliminating the need to explicitly support each
- device.
-
- Rather than switch into text mode, the universal video driver uses
- whatever video mode is currently in effect, and writes directly into the
- frame buffer. Thus SoftICE appears as a movable "window" on the Windows
- display.
-
- In the case where Windows hires mode is not active, e.g. full-screen DOS
- box, SoftICE switches the display to text mode, just as it would if the
- universal video driver were not selected. Although this involves device-
- dependent register access, in most cases the Standard VGA driver can be
- used successfully, since the display is in a standard VGA mode. (An
- exception would be a DOS program that switched the display into a SVGA
- mode).
-
- To summarize, the key benefits of the universal video driver are:
-
- * Device-independent (within certain parameters); most new cards work
- automatically without requiring special support.
-
- * SoftICE pops up as a movable "window" on the Windows desktop. Up to
- 128 lines are supported with 3 font choices.
-
- The universal video driver is enabled during the video setup phase of
- the installation by selecting the "Universal Video Driver" checkbox. As
- explained above, when the universal video driver is enabled the video
- card choice only affects SoftICE when the system is in VGA mode (e.g.
- full-screen DOS box), so Standard VGA is an acceptable choice if your
- video card is not listed.
-
- Be sure to select the "Test" button to verify that your video card and
- driver are supported. In order to use the universal video driver the
- video card must meet the following conditions:
-
- 1) The video card uses a linear (not bank-switched) frame buffer (only
- required on Windows NT)
- 2) The video driver supports DirectDraw (only required on Windows NT).
- Note that being able to run DirectDraw programs does not imply that your
- video driver supports DirectDraw.
- 3) The video card must run in 8-bit, 15/16-bit, 24-bit, or 32-bit modes.
-
- With the universal video driver enabled, SoftICE will pop up directly on
- the Windows desktop, using whatever video mode is currently in effect.
-
- The universal video driver is not supported under NT 3.51.
-
-
- COMMANDS
-
- The following commands and hotkeys can be used to change the location
- and appearance of the SoftICE "window":
-
- SET FONT n
- where n is 1, 2 or 3, selects a font.
-
- SET ORIGIN x y
- Where x and y are pixel coordinates, locates the window.
-
- LINES n
- Where n is 25-128, selects the number of lines for SoftICE to use
-
- Control-Alt- cursor keys
- Moves the SoftICE window by a character increment.
-
- Control-Alt-Home
- Resets the SoftICE window position to (0, 0)
-
- Control-L
- Refreshes the SoftICE display. This is useful in the rare case
- where the part of the display used by SoftICE is overlapped by a bitblt
- operation that happened to be running when SoftICE popped up.
-
-
- SETTING THE VIDEO MEMORY SIZE
-
- When using the universal video driver, SoftICE must save the existing
- contents of the frame buffer so it can be restored later. The amount of
- memory required depends on the video mode, the number of lines used by
- SoftICE, and (for DirectDraw applications) how many flipping surfaces
- are in use. In any case, the amount of memory required can't exceed the
- amount of memory on your video card. By default, SoftICE reserves 2MB,
- but you can modify this using the Symbol Loader (go to Edit -> SoftICE
- Initialization Settings and change the "Video memory size" setting).
-
-
- Improved serial operation
- -------------------------
-
- SoftICE 3.2 includes a new Win32 implementation of the utility used
- control SoftICE over a standard serial port, called SERIAL32.EXE. If the
- remote machine is running MSDOS, the old MSDOS version of SERIAL may
- still be used. (The DOS SERIAL.EXE program has been relocated to the
- UTIL16 directory). The command line syntax for SERIAL32 is as follows:
-
- serial32 [-l=25|43|50|60] [<port name> [<baud rate>]]
-
- '-l' sets initial screen lines
- <port name> is COM1, COM2, etc...
- <baud rate> is the baud rate
-
- The SoftICE SERIAL command line usage has not changed. This is
- documented in the manual.
-
- As an alternative to running SERIAL32 or SERIAL, SoftICE 3.2 can also be
- used with a VT100 compatible terminal (or program) as the controlling
- device. In VT100 mode, function keys can be entered by using the key
- sequence "^F" "digit" ("^F" denotes pressing the "F" key while holding
- down the Control key). The digits "0" thru "9" may be used. Example:
- "^F" "1" denotes function key F1. "^F" "0" denotes function key F10.
- Some ALT keys may be entered by using the key sequence "^A" "character".
- Example: "^A" "A" denotes ALT-A.
-
- To initiate use of the VT100 serial mode in SoftICE, use the following
- command:
-
- SERIAL VT100 [com-port] [baud-rate]
-
-
- 43 Lines on Hercules-compatible Monochrome Cards
- ------------------------------------------------
-
- As of version 3.01, SoftICE has the ability to run in graphics mode on
- Hercules-compatible monochrome cards, allowing it to display 43 lines of
- text rather than the 25 lines possible in text mode. This mode is
- entered via the commands:
-
- ALTSCR MONO
- LINES 43
-
- There is a related SET option. SET WIDE ON causes SoftICE to use 9-pixel
- wide character cells rather than 8-pixel wide characters. Outside of 43-
- line monochrome mode, the option is meaningless.
-
-
- Miscellaneous Options
- ---------------------
-
- Some miscellaneous options have been added in this release.
-
- SET WHEELLINES n
- For IntelliPoint mice: sets the number of lines that should be
- scrolled for each wheel movement.
-
- SET BUTTONREVERSE [on|off]
- Setting this to ON will reverse the normal meaning of the two
- mouse buttons.
-
-
- System Requirements
- -------------------
-
- For All Systems:
-
- * 5 MB disk space required
- * 2.5 MB disk space optional (Adobe Acrobat Reader for on-line manuals)
- * Microsoft-compatible Serial or PS/2 mouse (optional)
- * Single monitor, an additional monochrome monitor, and remote debugging
- are supported
-
- For Windows 95:
-
- * Windows 95
- * 16 MB RAM minimum (32 MB recommended)
-
- For Windows NT:
-
- * Intel x86 uniprocessor or Intel-standard SMP system
- * Windows NT 3.51
- * Windows NT 4.0 (Build 1381)
- * 32 MB RAM minimum (64 MB recommended)
- * Installation account with administrator rights
-
-
- Installation
- ------------
-
- * To install SoftICE, run SETUP.EXE. For Windows NT, run Setup from an
- account with administrator rights.
-
- * Setup will prompt you to select your display adapter's make and model,
- and allow you to select the "Universal" video driver or an additional
- monochrome monitor.
-
- * Setup will prompt you to select the type of mouse you are using (none,
- serial-COM1, serial-COM2, or PS/2). The bus mouse is not supported.
-
- * You can change your display adapter or mouse later by running Display
- Adapter or Mouse Setup from the SoftICE start menu (Windows 95) or the
- SoftICE program group (Windows NT).
-
- * For Windows NT only: Setup will prompt you to select a startup mode
- for SoftICE. You can change your startup mode later by running Startup
- Mode Setup from the SoftICE program group.
-
- * To uninstall SoftICE, select Remove SoftICE from the SoftICE start
- menu (Windows 95) or from the SoftICE program group (Windows NT).
-
-
- Quick Start to Debugging
- ------------------------
-
- 1) Run Symbol Loader (LOADER32.EXE).
-
- 2) Choose File-Open Module, and select the module you want to debug.
-
- 3) Choose Module-Load (or click the Load button on the toolbar). SoftICE
- automatically extracts symbol information from your module, creates a
- .NMS file containing the information, loads the symbols and source code,
- and, if you are loading an EXE file, loads the EXE and sets a
- breakpoint. You're ready to start debugging.
-
- Other features to check in the new symbol loader:
-
- * Module-Settings (symbol translation and debug options for your module)
- * Module-Translate (creates a .NMS file for pre-loading at start up)
- * Edit-SoftICE Initialization Settings (replaces WINICE.DAT)
- * File-Load Exports (loads exported symbols for DLLs you select)
- * File-Save SoftICE History (replaces WLOG and DLOG)
-
-
- Using Multiple Monitors Under Memphis
- -------------------------------------
-
- NOTE: This section applies to Memphis only. SoftICE does not currently
- support multiple displays under Windows NT.
-
- Memphis supports multiple display devices. One of the devices, called
- the primary display, supports VGA (this is the device that is active at
- boot time); the other devices run with VGA disabled.
-
- In the video setup phase of the installation, be sure to select the
- device being used as the primary video card. For example, if you're
- using an S3 card as the primary display and an ATI card as the secondary
- display, tell SoftICE to use the S3 card.
-
-
- SPECIFYING WHICH MONITOR TO USE
-
- When the Universal Video Driver is in use, it is possible to control
- which monitor SoftICE will use. Add a line to WINICE.DAT such as this:
-
- MONITOR=1
-
- This tells SoftICE to use the "second" monitor. Other numbers (0, 1, 2,
- etc) can be used.
-
-
- Debugging Display Drivers Under Memphis
- ---------------------------------------
-
- Under Memphis there can be multiple display drivers loaded
- simultaneously, and multiple instances of display drivers.
- Unfortunately, all these drivers have the same module name, DISPLAY, so
- SoftICE doesn't know which driver it should associate with the symbol
- table. The symbol table will be associated with the first driver loaded,
- which may not be the one you want to debug.
-
- There are two solutions to this problem:
-
- * Don't load multiple display drivers or display driver instances unless
- it's really necessary.
-
- * Use the SYMLOC command to tell SoftICE which module it should
- associate with the symbol table, as follows:
-
- SYMLOC [hmod]
-
- Where hmod is a module handle (a 16-bit number). Use the MOD command
- (e.g. MOD DISPLAY) to get a list of the loaded display drivers and their
- handles.
-
-
- Using SoftICE with Visual C++ 5.0
- ---------------------------------
-
- When linking, the /PDBTYPE:CON option must be used. To set this option
- from the IDE, go to the Link tab of the project settings, select
- Category "Debug", and ensure that the "Separate types" option is NOT
- selected.
-
-
- Using SoftICE with Borland C++ Builder
- --------------------------------------
-
- C++ Builder stores the Borland debug information in .TDS files separate
- from the executable. TDS files are also produced by the TDSTRP32
- utility. To load symbols and source into SoftICE, simply use the Symbol
- Loader to load the .TDS file. If you want to load the executable from
- the Symbol Loader that must be done afterward as a separate step.
- Alternatively, you could set the desired breakpoints and then load the
- executable normally.
-
-
- VToolsD Support
- ---------------
-
- SoftICE 3.2 includes support for locals and structures, which makes it
- easier than ever to develop VxDs in C/C++. To take full advantage of
- SoftICE 3.2, VToolsD users will need to make some minor modifications to
- the VtoolsD make files.
-
- NOTE:
- Replacement makefiles incorporating these changes are available from
- ftp://ftp.numega.com/pub/tech/vtoolsd.zip
-
- Microsoft Visual C++ users:
-
- Edit vtd95\include\ms9.mak as follows:
-
- 1) Replace all instances of /Zd with /Zi. This ensures that full debug
- information is included.
-
- 2) Remove references to DBG2MAP and MSYM. Those tools were used with
- older versions of SoftICE but are now obsolete. Instead, to create your
- .NMS symbol file, use:
-
- NMSYM /PROMPT /TRANSLATE:package,always /SOURCE:$(VTOOLSD)\lib\source;$(VTOOLSD)\lib\classlib;$(VTOOLSD)\lib\include $(TARGNAME)
-
- Unzipping the VtoolsD source code is recommended for full source-level
- debugging.
-
- Borland C++ users:
-
- 1) Build your VxD with debug information using the /v switch for the
- compiler and linker (as usual).
-
- 2) Use the PELE utility with the -s switch to create a section mapping
- file (.SMF). Translate the .SMF file to a .NMS symbol file with LOADER32
- or NMSYM. Note that translating the .DLL produced by the linker will not
- work; it is essential to translate from the .SMF file.
-
-
- Known Anomalies
- ---------------
-
- * When using the universal video driver, you may notice that the Windows
- cursor overlays the SoftICE display. This occurs because the Windows
- cursor is (usually) implemented as a hardware sprite. If this bothers
- you, one way around it is to select a color or animated cursor (in the
- Windows control panel settings); the operating system will revert to a
- software cursor, which can be erased by the SoftICE display rendering.
-
- * Under the following conditions SoftICE for Windows NT may appear to
- hang your machine (it is not really hung however!):
- - You start SoftICE for Windows NT manually, and you are NOT in full-
- screen (VGA) mode.
- - You are using the universal video driver.
- - You do not have an "X;" at the end of your SoftICE INIT string.
-
- If all these conditions are met, SoftICE will start but will be
- invisible. Hit Control-D to regain control of the system. The next time
- you hit Control-D SoftICE should pop up normally. The reason for this
- anomaly is that the SoftICE universal video driver can't begin to
- operate until at least one command has been passed to the display
- driver. None of this applies to SoftICE for Windows 95.
-
- * When debugging 16-bit programs, ? <variable> and WATCH <variable> are
- not supported. However, the locals window is fully functional.
-
- * The NT 3.51 checked build crashes when SoftICE is loaded using the
- default winice.dat file. To fix the problem, change winice.dat as
- follows:
- - Add the line: mouse=off
- - If you are using a mouse in SoftICE, add "set mouse on" to your INIT
- string. Example: init="set mouse on;X;"
-
- * SoftICE 3.2 for Windows 95 is not compatible with BoundsChecker for
- Windows 3.x (16-bit).
-
- * The Windows 95 shutdown option Restart computer in MS-DOS mode is not
- supported when running SoftICE. Loading SoftICE after choosing this
- option causes the system to become unstable and eventually crash. To
- return to MS-DOS after you shut down Windows 95, set BOOTGUI=0 in
- MSDOS.SYS (really an ini file with hidden, read-only, system
- attributes). Then use Shutdown the Computer to restart your system.
-
- * Windows NT becomes unstable when it runs low on non-paged memory. This
- can occur if you load many symbols and source files. Use Symbol Loader-
- Help-About Symbol loader to monitor SoftICE memory usage. You may need
- to be selective about how much information you load into SoftICE.
- SoftICE loads all source files by default. To limit the source files,
- list the files to be loaded in a .SRC file with the same name as your
- module. Put the .SRC file in the same directory with your executable.
-
-
- Troubleshooting Tips
- --------------------
-
- * Erratic keyboard behavior: If the keyboard behaves erratically when
- you load SoftICE, run Symbol Loader, select Edit-SoftICE Initialization
- Settings, and select the following option on the Troubleshooting page,
- and restart SoftICE:
-
- --- Disable Num Lock and Caps Lock programming
-
- If the erratic behavior persists in Windows NT, select this
- Troubleshooting option as well:
-
- --- Do not patch keyboard driver
-
- * Erratic mouse pointer movement: If mouse movement occurs when SoftICE
- pops up, the operating system and the mouse hardware might become out of
- sync because part of a mouse packet is lost. This results in erratic
- mouse pointer movement. Use one of the following to resync the mouse:
- - Type ctrl-M in SoftICE. You may need to do this a few times.
- - Switch to a full screen DOS box in Windows NT.
- - Use SET MOUSE OFF, followed by SET MOUSE ON, in Windows 95.
-
- * If you encounter a situation where either program logic or a corrupt
- data structure causes SoftICE to enter an endless loop and the
- informational commands do not respond in a timely manner, press the
- Escape (Esc) key one or more times to abort the current operation.
-
- * Debugging Delphi Programs - Be sure to use the $O- option to turn off
- optimizations. When optimizations are on, many unreferenced parameters
- and locals are optimized out, although some reference to them still
- exists in the debug information.
-
-
- Known Problems Related to Watcom C++
- ------------------------------------
-
- * Watcom C++ V11.0 does not seem to produce correct Codeview debug
- information in all cases (line number sections are missing). No such
- problem was observed with earlier versions of Watcom C++.
-
- * When Watcom C++ V10.6 is used with the Microsoft linker (from VC++
- V4.2) to produce VxDs, the line number debug information produced by the
- linker is not correct. The reason for this is unknown, and may affect
- other versions as well.
-
-
- Reporting Problems And Suggestions
- ----------------------------------
-
- Be sure to check our web site at http://www.numega.com for product
- updates, FAQs, white papers and other technical support information.
-
- Contact Technical Support via our SUPPORT page at our web site or send
- e-mail to tech@numega.com. Priority Support Customers can call us at 1
- 888 NUMEGAS or +1 603 578 8100. You can also FAX us at +1 603 578
- 8401 (attention: Technical Support).
-
- If you are not a Priority Support Customer but are interested in
- becoming one, visit our website or call 1 800 4NUMEGA.
-
- Include the following in your problem report:
-
- * System Configuration (O/S, processor, and RAM)
- * Detailed problem description (include exact error message text)
- * If video related, include video adapter and driver names and version
- (include PCI Vendor ID and Device ID as well if available)
- * How to reproduce the problem
-
-
- -----------------------------------------------------------------
- Copyright 1997 NuMega Technologies Inc.
- 07/24/97
-
-